package com.notary.entity.po;


import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.Date;

@Data
public class NotaryDTO {

    @ApiModelProperty(value = "人员编码")

    private Integer id;

    @ApiModelProperty(value = "用户id")
    private String userId;

    @ApiModelProperty(value = "姓名")
    @NotEmpty(message = "name姓名不能为空")
    private String name;

    @ApiModelProperty(value = "所属机构编码")
    @NotEmpty(message = "officeId机构不能为空")
    private String officeId;


    @ApiModelProperty(value = "姓名汉语拼音")
    @NotEmpty(message = "pinyin汉语拼音不能为空")
    private String pinyin;

    @ApiModelProperty(value = "性别")
    @NotEmpty(message = "性别不能为空")
    private String sex;

    @ApiModelProperty(value = "出生日期")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @NotNull(message = "birth出生日期不能为空")
    private Date birth;

    @ApiModelProperty(value = "公民身份号码")
    @NotEmpty(message = "idCard身份证不能为空")
    private String idCard;

    @ApiModelProperty(value = "民族")
    @NotEmpty(message = "nation民族不能为空")
    private String nation;

    @ApiModelProperty(value = "政治面貌")
    @NotEmpty(message = "politicsStatus政治面貌不能为空")
    private String politicsStatus;

    @ApiModelProperty(value = "照片")
    @NotEmpty(message = "photo照片不能为空")
    private String photo;

    @ApiModelProperty(value = "毕业院校")
    @NotEmpty(message = "graduateInstitutions毕业院校不能为空")
    private String graduateInstitutions;

    @ApiModelProperty(value = "毕业时间")
    @NotEmpty(message = "graduateAt毕业时间不能为空")
    private String graduateAt;

    @ApiModelProperty(value = "学历")
    @NotEmpty(message = "education学历不能为空")
    private String education;

    @ApiModelProperty(value = "学位")
    @NotEmpty(message = "degree学位不能为空")
    private String degree;

    @ApiModelProperty(value = "专业")
    @NotEmpty(message = "major专业不能为空")
    private String major;


    @ApiModelProperty(value = "协会职务")
    @NotEmpty(message = "associationPost协会职务不能为空")
    private String associationPost;

    @ApiModelProperty(value = "人员编制")
    @NotEmpty(message = "staff人员编制不能为空")
    private String staff;

    @ApiModelProperty(value = "参加工作时间")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @NotNull(message = "workDate参加工作时间不能为空")
    private Date workDate;

    @ApiModelProperty(value = "专业职称")
    @NotEmpty(message = "professionalTitles专业职称不能为空")
    private String professionalTitles;

    @ApiModelProperty(value = "执业证书编码")
    @NotEmpty(message = "certificateNo执业证书编码不能为空")
    private String certificateNo;

    @ApiModelProperty(value = "执业证书颁发时间")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @NotNull(message = "issueDate执业证书颁发时间不能为空")
    private Date issueDate;

    @ApiModelProperty(value = "是否取得涉外公证资格")
    @NotEmpty(message = "isForeign涉外公证资格不能为空")
    private String isForeign;

    @ApiModelProperty(value = "涉外公证资格取得时间")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date isForeignDate;

    @ApiModelProperty(value = "资格证号")
    @NotEmpty(message = "qualificationCode不能为空")
    private String qualificationCode;

    @ApiModelProperty(value = "考核任职资格")
    @NotEmpty(message = "qualification不能为空")
    private String qualification;

    @ApiModelProperty(value = "联系电话")
    @NotEmpty(message = "phone不能为空")
    private String phone;

    @ApiModelProperty(value = "电子邮箱")
    @NotEmpty(message = "email不能为空")
    private String email;

    @ApiModelProperty(value = "住址")
    @NotEmpty(message = "address不能为空")
    private String address;

    @ApiModelProperty(value = "创建人")
    private String createBy;

    @ApiModelProperty(value = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    @ApiModelProperty(value = "更新人")
    private String updateBy;

    @ApiModelProperty(value = "更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;

    //办证数量
    private int dayCount;
    private int weekCount;
    private int monthCount;
    private int waitApprovalCount;
    private Long owner;
    private String issueTime;

    private String custNo;
    private String qmFile;
}
